package com.tripcube.ai.model.dto;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文档上传数据传输对象
 * 用于封装文档上传请求的参数信息
 * 
 * @author alander
 */
@Data
@Schema(description = "文档上传请求")
public class UploadDocumentDTO {

    @Schema(description = "知识库ID", required = true)
    @NotBlank(message = "知识库ID不能为空")
    private String knowledgeBaseId;

    @Schema(description = "类目ID", required = true)
    @NotBlank(message = "类目ID不能为空")
    private String categoryId;

    @Schema(description = "上传的文件", required = true)
    @NotNull(message = "上传文件不能为空")
    private MultipartFile file;

    @Schema(description = "文档解析器类型", defaultValue = "DASHSCOPE_DOCMIND")
    private String parserType = "DASHSCOPE_DOCMIND";
}